Next: Terminal setup code works after Emacs has begun, Previous: Binding keys to commands, Up: Key bindings
Usually, one of two things has happened. In one case, the control character in the key sequence has been misspecified (e.g. ‘C-f’ used instead of ‘\C-f’ within a Lisp expression). In the other case, a prefix key in the keystroke sequence you were trying to bind was already bound as a complete key. Historically, the ‘ESC [’ prefix was usually the problem, in which case you should evaluate either of these forms before attempting to bind the key sequence:
(global-unset-key [?\e ?[]) ;; or
(global-unset-key "\e[")